using System;
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.Ccr.Core;
using Microsoft.Dss.Core.Attributes;
using Microsoft.Dss.ServiceModel.Dssp;
using Microsoft.Dss.ServiceModel.DsspServiceBase;
using W3C.Soap;

namespace KinectCamViewer
{
    public sealed class Contract
    {
        [DataMember]
        public const string Identifier = "http://schemas.tempuri.org/2011/07/kinectcamviewer.html";
    }

    [DataContract]
    public class KinectCamViewerState
    {
    }

    [ServicePort]
    public class KinectCamViewerOperations : PortSet<DsspDefaultLookup, DsspDefaultDrop, SetTiming>
    {
    }

    [DataContract]
    public class TimingState
    {
        [DataMember]
        public bool IsActive { get; set; }
    }

    public class SetTiming : Update<TimingState, PortSet<DefaultUpdateResponseType, Fault>>
    {
        public SetTiming()
        {
        }

        public SetTiming(TimingState body)
        : base(body)
        {
        }
    }
}